#include<vector>
using namespace std;

class Solution {
public:
    int longestOnes(vector<int>& A, int K) {
        if (A.size() < 1) return 0;
        int left = 0, right = 0;
        int size = A.size();
        while (right < size) {
            if (A[right++] == 0)
                --K;
            if (K < 0) 
                if (A[left++] == 0)
                    ++K;
        }
        return right - left;
    }
};

//class Solution {
//public:
//    int longestOnes(vector<int>& A, int K) {
//        if (A.size() < 1) return 0;
//        int left = 0, right = 0;
//        int size = A.size();
//        while (right < size) {
//            while (++right <= size) {
//                if (A[right - 1] == 0)
//                    --K;
//                if (K < 0)
//                    break;
//            }
//            if (A[left++] == 0)
//                ++K;
//        }
//        return right - left;
//    }
//};

//int main() {
//    Solution sol;
//    vector<int> A = { 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0 };
//    sol.longestOnes(A, 2);
//}